
#import <UIKit/UIKit.h>

extern const NSUInteger SCIndexViewInvalidSection;
extern const NSInteger SCIndexViewSearchSection;

typedef NS_ENUM(NSUInteger, SCIndexViewStyle) {
    SCIndexViewStyleDefault = 0,    // 指向点
    SCIndexViewStyleCenterToast,    // 中心提示弹层
};

@interface SCIndexViewConfiguration : NSObject

/** 索引提示风格*/
@property (nonatomic, assign, readonly) SCIndexViewStyle indexViewStyle;
/** 指示器背景颜色*/
@property (nonatomic, strong) UIColor *indicatorBackgroundColor;
/** 指示器文字颜色*/
@property (nonatomic, strong) UIColor *indicatorTextColor;
/** 指示器文字字体*/
@property (nonatomic, strong) UIFont *indicatorTextFont;
/** 指示器高度*/
@property (nonatomic, assign) CGFloat indicatorHeight;
/** 指示器距离右边屏幕距离（default有效）*/
@property (nonatomic, assign) CGFloat indicatorRightMargin;
/** 指示器圆角半径（centerToast有效）*/
@property (nonatomic, assign) CGFloat indicatorCornerRadius;
/** 索引元素背景颜色*/
@property (nonatomic, strong) UIColor *indexItemBackgroundColor;
/** 索引元素文字颜色*/
@property (nonatomic, strong) UIColor *indexItemTextColor;
/** 索引元素选中时背景颜色*/
@property (nonatomic, strong) UIColor *indexItemSelectedBackgroundColor;
/** 索引元素选中时文字颜色*/
@property (nonatomic, strong) UIColor *indexItemSelectedTextColor;
/** 索引元素高度*/
@property (nonatomic, assign) CGFloat indexItemHeight;
/** 索引元素距离右边屏幕距离*/
@property (nonatomic, assign) CGFloat indexItemRightMargin;
/** 索引整体垂直离居中的偏移量 */
@property (assign, nonatomic) CGFloat indexItemVerticalOffset;
/** 索引元素之间间隔距离*/
@property (nonatomic, assign) CGFloat indexItemsSpace;
/** 设置fontSize*/
@property (nonatomic, assign) CGFloat aFontSize;

+ (instancetype)configuration;

+ (instancetype)configurationWithIndexViewStyle:(SCIndexViewStyle)indexViewStyle;

+ (instancetype)configurationWithIndexViewStyle:(SCIndexViewStyle)indexViewStyle
                       indicatorBackgroundColor:(UIColor *)indicatorBackgroundColor
                             indicatorTextColor:(UIColor *)indicatorTextColor
                              indicatorTextFont:(UIFont *)indicatorTextFont
                                indicatorHeight:(CGFloat)indicatorHeight
                           indicatorRightMargin:(CGFloat)indicatorRightMargin
                          indicatorCornerRadius:(CGFloat)indicatorCornerRadius
                       indexItemBackgroundColor:(UIColor *)indexItemBackgroundColor
                             indexItemTextColor:(UIColor *)indexItemTextColor
               indexItemSelectedBackgroundColor:(UIColor *)indexItemSelectedBackgroundColor
                     indexItemSelectedTextColor:(UIColor *)indexItemSelectedTextColor
                                indexItemHeight:(CGFloat)indexItemHeight
                           indexItemRightMargin:(CGFloat)indexItemRightMargin
                                indexItemsSpace:(CGFloat)indexItemsSpace;

@end
